{{^is_riverpod}}
import 'package:injectable/injectable.dart';
{{/is_riverpod}}
import 'package:{{project_name.snakeCase()}}/core/contracts/app_result.dart';
import 'package:{{project_name.snakeCase()}}/features/{{feature_name.snakeCase()}}/domain/entities/{{feature_name.snakeCase()}}_entity.dart';
import 'package:{{project_name.snakeCase()}}/features/{{feature_name.snakeCase()}}/domain/repositories/{{feature_name.snakeCase()}}_repository.dart';

/// Fetches all {{feature_name.titleCase()}} items from the repository.
{{^is_riverpod}}
@injectable
{{/is_riverpod}}
class Get{{feature_name.pascalCase()}} {
  const Get{{feature_name.pascalCase()}}(this._repository);

  final {{feature_name.pascalCase()}}Repository _repository;

  Future<AppResult<List<{{feature_name.pascalCase()}}Entity>>> call() =>
      _repository.getAll();
}
